File Matching, Filtering, এবং Selector Task

Java Technologies - অ্যাপাচি অ্যান্ট (Apache ANT) Resource Handling এবং Archive Management |
289
289

অ্যাপাচি অ্যান্ট (Apache ANT) ফাইল সিস্টেমে কাজ করার জন্য শক্তিশালী টুলস সরবরাহ করে, যা ফাইল ম্যাচিং (Matching), ফিল্টারিং (Filtering) এবং সিলেকশন (Selection) করতে সাহায্য করে। এগুলো বিশেষত বড় প্রজেক্টে ফাইল পরিচালনার প্রক্রিয়াকে সহজ করে।


File Matching: ফাইল নির্বাচন করার নিয়ম

ANT-এর ফাইল ম্যাচিং প্যাটার্ন ব্যবহার করে নির্দিষ্ট ফাইল বা ডিরেক্টরি চিহ্নিত করা যায়। এটি সাধারণত fileset এলিমেন্টে ব্যবহৃত হয়।

fileset এর গঠন

fileset একটি ডিরেক্টরি থেকে নির্দিষ্ট প্যাটার্নের ফাইল নির্বাচন করে:

<fileset dir="src">
    <include name="**/*.java" />
    <exclude name="**/test/**" />
</fileset>
  • dir: যে ডিরেক্টরির ফাইলগুলো নির্বাচন করা হবে।
  • include: কোন ফাইলগুলো অন্তর্ভুক্ত হবে তার প্যাটার্ন।
  • exclude: কোন ফাইলগুলো বাদ দেওয়া হবে তার প্যাটার্ন।

File Matching প্যাটার্ন

  • *: একক লেভেলের যেকোনো ফাইল বা ডিরেক্টরি।
    উদাহরণ: *.java সব .java ফাইল নির্বাচন করবে।
  • **: যে কোনো ডিরেক্টরি লেভেলে যেকোনো ফাইল বা ডিরেক্টরি।
    উদাহরণ: **/*.java সব .java ফাইল নির্বাচন করবে, ডিরেক্টরি লেভেল নির্বিশেষে।
  • ?: একটি একক অক্ষর রিপ্রেজেন্ট করে।
    উদাহরণ: file?.txt ম্যাচ করবে file1.txt, file2.txt, কিন্তু file12.txt নয়।

File Filtering: কনটেন্টের ভিত্তিতে ফাইল প্রসেসিং

ফাইল ফিল্টারিং ফাইলের কনটেন্ট বা নির্দিষ্ট প্যারামিটারের উপর ভিত্তি করে ফাইলগুলো প্রসেস করে।

filterchain ব্যবহার

filterchain এলিমেন্ট ফাইল প্রসেসিংয়ের সময় ফিল্টার প্রয়োগ করতে সাহায্য করে:

<copy todir="dest">
    <fileset dir="src" />
    <filterchain>
        <replacetokens>
            <token key="PLACEHOLDER" value="ActualValue" />
        </replacetokens>
    </filterchain>
</copy>
  • replacetokens: ফাইলের মধ্যে নির্দিষ্ট টেক্সটকে নতুন টেক্সট দিয়ে প্রতিস্থাপন করে।
    উদাহরণ: PLACEHOLDER কে ActualValue এ পরিবর্তন করা।

Predefined Filters

  • linecontains: নির্দিষ্ট শব্দ বা বাক্যাংশ থাকা লাইনগুলোকে নির্বাচন করে।
    উদাহরণ:

    <filterchain>
        <linecontains>
            <contains value="IMPORTANT" />
        </linecontains>
    </filterchain>
    

Selector Task: ফাইল সিলেকশন নিয়ন্ত্রণ

সিলেক্টর (Selector) টাস্ক ব্যবহার করে ফাইল নির্বাচন আরও নির্দিষ্ট করা যায়, যেমন ফাইল সাইজ, টাইমস্ট্যাম্প, বা নাম।

Built-in Selectors

size Selector

ফাইল সাইজের উপর ভিত্তি করে ফাইল নির্বাচন করে:

<fileset dir="src">
    <size value="10k" />
</fileset>
  • value: সাইজ নির্ধারণ করে (যেমন 10k, 1m)।

date Selector

নির্দিষ্ট সময়সীমার ফাইল নির্বাচন করে:

<fileset dir="src">
    <date datetime="2024-12-01T00:00:00" when="before" />
</fileset>
  • datetime: সময় নির্ধারণ করে।
  • when: before বা after উল্লেখ করে সময়সীমা।

type Selector

ফাইল বা ডিরেক্টরি নির্বাচন করে:

<fileset dir="src">
    <type type="file" />
</fileset>
  • type: file বা dir ব্যবহার করা যায়।

contains Selector

নির্দিষ্ট কনটেন্ট থাকা ফাইল নির্বাচন করে:

<fileset dir="src">
    <contains text="TODO" />
</fileset>
  • text: ফাইলে থাকা কনটেন্ট।

modified Selector

নির্দিষ্ট সময়ের মধ্যে পরিবর্তিত ফাইল নির্বাচন করে:

<fileset dir="src">
    <modified millis="60000" />
</fileset>
  • millis: শেষ ৬০ সেকেন্ডে পরিবর্তিত ফাইল।

উদাহরণ: File Matching, Filtering, এবং Selector Task একসঙ্গে ব্যবহার

<project name="FileManagement" default="process">
    <target name="process">
        <copy todir="output">
            <fileset dir="src">
                <include name="**/*.java" />
                <exclude name="**/test/**" />
                <size value="10k" />
                <contains text="IMPORTANT" />
            </fileset>
            <filterchain>
                <replacetokens>
                    <token key="VERSION" value="1.0" />
                </replacetokens>
            </filterchain>
        </copy>
    </target>
</project>

এখানে:

  • .java ফাইল নির্বাচন করা হয়েছে।
  • 10k এর কম সাইজের ফাইল এবং "IMPORTANT" শব্দ থাকা ফাইল ফিল্টার করা হয়েছে।
  • "VERSION" প্লেসহোল্ডারকে 1.0 এ প্রতিস্থাপন করা হয়েছে।

সারাংশে, ANT-এর File Matching, Filtering এবং Selector Task ফাইল পরিচালনা ও প্রসেসিংয়ের ক্ষেত্রে কার্যকর একটি সমাধান। এটি বড় প্রজেক্টের ফাইল পরিচালনা আরও সংগঠিত, দ্রুত এবং নির্ভুল করতে সাহায্য করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion